The present invention relates to drivers for transferring data between a computer and a peripheral device, and in particular to a data transfer driver that receives multiple byte data words from a computer and retransmits them as sequences of data bytes to a peripheral device.
Computers typically process data words having more than one 8-bit byte whereas many peripheral devices such as printers, modems and the like are able to receive data only one byte at a time. Thus in order for a computer to transmit, for example, a 32-bit data word to such a peripheral device, the computer must transmit each byte of the data word in sequence. Such an operation can require a large number of computer processing cycles, particularly when the computer is relatively fast, the peripheral device is relatively slow, and the computer and peripheral device communicate using asynchronous handshaking protocols.
Bi-directional asynchronous ports of a computer are typically connected to a peripheral device through a cable plugged into a cable connector mounted on the computer's chassis. In order to test the operation of an asynchronous port, the cable is disconnected from the cable connector and a test plug is plugged into the cable connector. The test plug cross-couples input and output data and control signal pins on the connector so that data transmitted by the computer out of the port is returned to the computer through the port in the opposite direction. Thus, the test plug enables the computer to test port operation by sending data to itself, but an operator must first physically replace the cable with the test plug. Therefore, such port test method cannot be performed automatically without operator intervention.